package com.linkage.lcims.base.po.cdma;

import java.io.Serializable;
import java.util.Date;
import org.apache.commons.lang.builder.ToStringBuilder;


/** 
 *        @hibernate.class
 *         table="C_IMSI00"
 *     
*/
public class CImsi implements Serializable {

    /**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	/** identifier field */
    private String imsi;

    /** persistent field */
    private String mdn;

    /** persistent field */
    private Integer status;

    /** persistent field */
    private String areano;

    /** persistent field */
    private Integer groupid;

    /** nullable persistent field */
    private Integer usertype;

    /** nullable persistent field */
    private Integer chargetype;

    /** nullable persistent field */
    private Integer bindtype;

    /** nullable persistent field */
    private Integer balance;

    /** nullable persistent field */
    private String framedip;

    /** nullable persistent field */
    private String ippool;

    /** nullable persistent field */
    private String authorattr;

    /** persistent field */
    private Integer roamlevel;

    /** nullable persistent field */
    private Integer limitusers;

    /** persistent field */
    private Date opendate;

    /** persistent field */
    private String openoperator;

    /** nullable persistent field */
    private Date moddate;

    /** nullable persistent field */
    private String modoperator;

    /** full constructor */
    public CImsi(String imsi, String mdn, Integer status, String areano, Integer groupid, Integer usertype, Integer chargetype, Integer bindtype, Integer balance, String framedip, String ippool, String authorattr, Integer roamlevel, Integer limitusers, Date opendate, String openoperator, Date moddate, String modoperator) {
        this.imsi = imsi;
        this.mdn = mdn;
        this.status = status;
        this.areano = areano;
        this.groupid = groupid;
        this.usertype = usertype;
        this.chargetype = chargetype;
        this.bindtype = bindtype;
        this.balance = balance;
        this.framedip = framedip;
        this.ippool = ippool;
        this.authorattr = authorattr;
        this.roamlevel = roamlevel;
        this.limitusers = limitusers;
        this.opendate = opendate;
        this.openoperator = openoperator;
        this.moddate = moddate;
        this.modoperator = modoperator;
    }

    /** default constructor */
    public CImsi() {
    }

    /** minimal constructor */
    public CImsi(String imsi, String mdn, Integer status, String areano, Integer groupid, Integer roamlevel, Date opendate, String openoperator) {
        this.imsi = imsi;
        this.mdn = mdn;
        this.status = status;
        this.areano = areano;
        this.groupid = groupid;
        this.roamlevel = roamlevel;
        this.opendate = opendate;
        this.openoperator = openoperator;
    }

    /** 
     *            @hibernate.id
     *             generator-class="assigned"
     *             type="java.lang.String"
     *             column="IMSI"
     *         
     */
    public String getImsi() {
        return this.imsi;
    }

    public void setImsi(String imsi) {
        this.imsi = imsi;
    }

    /** 
     *            @hibernate.property
     *             column="MDN"
     *             unique="true"
     *             length="20"
     *             not-null="true"
     *         
     */
    public String getMdn() {
        return this.mdn;
    }

    public void setMdn(String mdn) {
        this.mdn = mdn;
    }

    /** 
     *            @hibernate.property
     *             column="STATUS"
     *             length="22"
     *             not-null="true"
     *         
     */
    public Integer getStatus() {
        return this.status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    /** 
     *            @hibernate.property
     *             column="AREANO"
     *             length="20"
     *             not-null="true"
     *         
     */
    public String getAreano() {
        return this.areano;
    }

    public void setAreano(String areano) {
        this.areano = areano;
    }

    /** 
     *            @hibernate.property
     *             column="GROUPID"
     *             length="22"
     *             not-null="true"
     *         
     */
    public Integer getGroupid() {
        return this.groupid;
    }

    public void setGroupid(Integer groupid) {
        this.groupid = groupid;
    }

    /** 
     *            @hibernate.property
     *             column="USERTYPE"
     *             length="22"
     *         
     */
    public Integer getUsertype() {
        return this.usertype;
    }

    public void setUsertype(Integer usertype) {
        this.usertype = usertype;
    }

    /** 
     *            @hibernate.property
     *             column="CHARGETYPE"
     *             length="22"
     *         
     */
    public Integer getChargetype() {
        return this.chargetype;
    }

    public void setChargetype(Integer chargetype) {
        this.chargetype = chargetype;
    }

    /** 
     *            @hibernate.property
     *             column="BINDTYPE"
     *             length="22"
     *         
     */
    public Integer getBindtype() {
        return this.bindtype;
    }

    public void setBindtype(Integer bindtype) {
        this.bindtype = bindtype;
    }

    /** 
     *            @hibernate.property
     *             column="BALANCE"
     *             length="22"
     *         
     */
    public Integer getBalance() {
        return this.balance;
    }

    public void setBalance(Integer balance) {
        this.balance = balance;
    }

    /** 
     *            @hibernate.property
     *             column="FRAMEDIP"
     *             length="24"
     *         
     */
    public String getFramedip() {
        return this.framedip;
    }

    public void setFramedip(String framedip) {
        this.framedip = framedip;
    }

    /** 
     *            @hibernate.property
     *             column="IPPOOL"
     *             length="20"
     *         
     */
    public String getIppool() {
        return this.ippool;
    }

    public void setIppool(String ippool) {
        this.ippool = ippool;
    }

    /** 
     *            @hibernate.property
     *             column="AUTHORATTR"
     *             length="128"
     *         
     */
    public String getAuthorattr() {
        return this.authorattr;
    }

    public void setAuthorattr(String authorattr) {
        this.authorattr = authorattr;
    }

    /** 
     *            @hibernate.property
     *             column="ROAMLEVEL"
     *             length="22"
     *             not-null="true"
     *         
     */
    public Integer getRoamlevel() {
        return this.roamlevel;
    }

    public void setRoamlevel(Integer roamlevel) {
        this.roamlevel = roamlevel;
    }

    /** 
     *            @hibernate.property
     *             column="LIMITUSERS"
     *             length="22"
     *         
     */
    public Integer getLimitusers() {
        return this.limitusers;
    }

    public void setLimitusers(Integer limitusers) {
        this.limitusers = limitusers;
    }

    /** 
     *            @hibernate.property
     *             column="OPENDATE"
     *             length="7"
     *             not-null="true"
     *         
     */
    public Date getOpendate() {
        return this.opendate;
    }

    public void setOpendate(Date opendate) {
        this.opendate = opendate;
    }

    /** 
     *            @hibernate.property
     *             column="OPENOPERATOR"
     *             length="20"
     *             not-null="true"
     *         
     */
    public String getOpenoperator() {
        return this.openoperator;
    }

    public void setOpenoperator(String openoperator) {
        this.openoperator = openoperator;
    }

    /** 
     *            @hibernate.property
     *             column="MODDATE"
     *             length="7"
     *         
     */
    public Date getModdate() {
        return this.moddate;
    }

    public void setModdate(Date moddate) {
        this.moddate = moddate;
    }

    /** 
     *            @hibernate.property
     *             column="MODOPERATOR"
     *             length="20"
     *         
     */
    public String getModoperator() {
        return this.modoperator;
    }

    public void setModoperator(String modoperator) {
        this.modoperator = modoperator;
    }

    public String toString() {
        return new ToStringBuilder(this)
            .append("imsi", getImsi())
            .toString();
    }

}
